Skip to content

feat(vom): add typed visual refs and target identity validation | 支持类型化视觉 ref 与目标身份验证 - #209

Open
Ljy-0827 wants to merge 1 commit into
feat/canvas-region-discoveryfrom
feat/typed-visual-refs
Open

feat(vom): add typed visual refs and target identity validation | 支持类型化视觉 ref 与目标身份验证#209
Ljy-0827 wants to merge 1 commit into
feat/canvas-region-discoveryfrom
feat/typed-visual-refs

Conversation

@Ljy-0827

@Ljy-0827 Ljy-0827 commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

背景

现有 ref 仅表示 DOM 节点地址,无法区分 DOM 操作目标与视觉区域。直接注册 Canvas 候选,会让点击、HTML 读取等工具误用其定位节点。

改动

  • RefStore 区分 DOM 与 visual-region,复用 Canvas 候选的身份和区域证据。
  • 统一限制工具适用性,避免交互、HTML、人工帮助及文件传输将视觉 ref 当作 DOM 目标。
  • 复用已有 DOM 身份验证,检查视觉定位节点是否仍连接在原 DOM 中。
  • 保持现有 ref 编号及替换语义,并提供明确的类型不支持错误提示。

本 PR 不接入公开 observation 的视觉条目,也不实现视觉区域截图,分别由后续 PR 完成。

内部诊断对于一个 Canvas 能够得到类似如下的信息:

类型:visual-region
名称:无
定位:对应 iframe 内的 Canvas
截图区域:x=320,y=273.21,宽=868,高=495.79
身份检查:current(有效)

验证

  • 扩展全量测试、补充 ref 测试及 CLI 错误提示测试通过。
  • 类型检查、格式检查和扩展 build 通过。
  • 真实浏览器验证了工具类型隔离、节点移除/跨 DOM 移动/DOM 替换后的身份失效,以及普通 DOM 点击和填充回归。
  • 真实 iWiki Canvas 候选身份验证通过。

@Ljy-0827
Ljy-0827 added this pull request to stack #210 September 9, 2026 14:08
@Ljy-0827
Ljy-0827 force-pushed the feat/typed-visual-refs branch from f223eb6 to a6de73a Compare September 10, 2026 04:21
@Ljy-0827
Ljy-0827 force-pushed the feat/typed-visual-refs branch from a6de73a to 616b154 Compare September 10, 2026 07:46
@Ljy-0827
Ljy-0827 force-pushed the feat/typed-visual-refs branch from 616b154 to 8511ad9 Compare September 10, 2026 11:03
@Ljy-0827
Ljy-0827 marked this pull request as ready for review September 10, 2026 11:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant